package com.demo2do.boyle.client.service.impl;

import java.util.ArrayList;
import java.util.List;
import java.util.Map;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

import com.demo2do.boyle.client.cache.accessor.PersistentAccessor;
import com.demo2do.boyle.client.service.TagService;
import com.demo2do.boyle.common.entity.system.tag.Tag;
import com.demo2do.core.service.impl.GenericServiceImpl;

@Service("tagService")
public class TagServiceImpl extends GenericServiceImpl<Tag> implements TagService{
	
	@Autowired
	private PersistentAccessor persistentAccessor;
	
	/*
	 * (non-Javadoc)
	 * @see com.demo2do.boyle.client.service.CustomerTagService#listLifeTag()
	 */
	public List<Tag> listLifeTag() {
		
		List<Tag> lifeTags = new ArrayList<Tag>();
		
		Map<String, Object> lifeTagsCache =  persistentAccessor.getLifeTags();
		
		for(String key : lifeTagsCache.keySet()) {
			lifeTags.add((Tag)lifeTagsCache.get(key));
		}
		return lifeTags;
	}
	
	/*
	 * (non-Javadoc)
	 * @see com.demo2do.boyle.client.service.CustomerTagService#listInterestTag()
	 */
	public List<Tag> listInterestTag() {
		
		List<Tag> interestTags = new ArrayList<Tag>();
		
		Map<String, Object> interestTagsCache =  persistentAccessor.getInterestTags();
		
		for(String key : interestTagsCache.keySet()) {
			interestTags.add((Tag)interestTagsCache.get(key));
		}
		return interestTags;
	}
	
	/*
	 * (non-Javadoc)
	 * @see com.demo2do.boyle.client.service.TagService#listSexTag()
	 */
	public List<Tag> listSexTag() {
		List<Tag> sexTags = new ArrayList<Tag>();
		
		Map<String, Object> sexTagsCache =  persistentAccessor.getSexes();
		
		for(String key : sexTagsCache.keySet()) {
			sexTags.add((Tag)sexTagsCache.get(key));
		}
		return sexTags;
	}
	
}
